Camera Calibration

Camera calibration of this stereo rig is a challenging task, especially for large baseline applications. We followed a checkerboard based calibration approach. Below are some important points when capturing images for stereo calibration.

  • Place the stereo rig horizontal to make the effect from cosines negligible.

  • Make sure to have good lighting conditions. Lighting is critical for good recults.

  • Capture images at different lengths. At least cover three different distance to the camera, (a) nearest to the camera in the fov, (b) middle way and (c) bit further.

  • Cover the two camera fov is both x and y directions.

  • Capture tilted and skewed images. (However too skewed images may be errornous)

  • Matlab stereo calibrator app has a very user friendly GUI to perform calibration with left and right images.

We suggest that reprojection errors below 0.2 pixels will give good camera parameter estimation to produce an accurate disparity map. In Matlab GUI you can remove stereo pairs that give high errors to improve the accuracy. But make sure you you maintain goodbalanced image set with skewed, angled and parallel views of the calibration board.

Capture about 30-50 images per view. Use Matlab Stereo Camera Calibrator App to generate calibration results. Convert the Matlab results to compatible results using ugv_stereo/Calibration repo (Please read the readme file).

The reason for the conversion that matlab and ROS/OpenCV follows different conventions for camera intrensic matrix.

(1)\[\begin{equation} R_{ROS/OpenCV} = R_{Matlab}^t \end{equation}\]
(2)\[\begin{equation} M_{ROS/OpenCV} = M_{Matlab}^t \end{equation}\]